package leetcode_day._2022._202210._1120;

/**
 * 1700. 无法吃午餐的学生数量
 * 算法：模拟
 * 虽然学生排成一个队列，但可以换位置，而三明治必须将栈顶消费了才能消费下一个
 * 所以可以看成用学生去消耗三明治，如果当前栈顶的三明治无法消费，那就卡在这里，剩余的学生就吃不到了
 *
 * @author yzh
 * @version 1.0
 * @date 2022/10/19 22:30
 */
public class _19_1700 {

    public int countStudents(int[] students, int[] sandwiches) {
        int n = students.length;
        int[] cnts = new int[2];
        for (int x : students) ++cnts[x];
        for (int i = 0; i < n; i++) if (--cnts[sandwiches[i]] == -1) return n - i;
        return 0;
    }

}
